﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	///<summary>
	///(Регл)
	///</summary>
	[DataContract]
	public enum ПорядокНачисленияСеверныхНадбавок
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"6ab8b2ec-8c74-4fa9-b9c3-cd0b9e04e7ab\", \"Представление\":\"Группа1Обычная\"}")]
		Группа1Обычная = 0,//Группа 1 обычная
		[EnumMember(Value = "{\"Ссылка\":\"b718fe44-382a-44f3-9830-47fddea60432\", \"Представление\":\"Группа2Обычная\"}")]
		Группа2Обычная = 1,//Группа 2 обычная
		[EnumMember(Value = "{\"Ссылка\":\"03c71aab-cb1e-4a73-9e60-6ded38d5f845\", \"Представление\":\"Группа3Обычная\"}")]
		Группа3Обычная = 2,//Группа 3 обычная
		[EnumMember(Value = "{\"Ссылка\":\"318fcb42-2061-49e4-8c06-0b53dd79cf54\", \"Представление\":\"Группа4Обычная\"}")]
		Группа4Обычная = 3,//Группа 4 обычная
		[EnumMember(Value = "{\"Ссылка\":\"65378fc7-e135-473c-875f-201a923b48bf\", \"Представление\":\"Группа1Льготная\"}")]
		Группа1Льготная = 4,//Группа 1 льготная
		[EnumMember(Value = "{\"Ссылка\":\"ded13d34-8790-43cb-aea3-f4340445f664\", \"Представление\":\"Группа2Льготная\"}")]
		Группа2Льготная = 5,//Группа 2 льготная
		[EnumMember(Value = "{\"Ссылка\":\"e4150359-e650-4f52-87ff-9da18994b060\", \"Представление\":\"Группа3Льготная\"}")]
		Группа3Льготная = 6,//Группа 3 льготная
		[EnumMember(Value = "{\"Ссылка\":\"14e77212-8f39-4e2e-8186-f600e1769357\", \"Представление\":\"Группа4Льготная\"}")]
		Группа4Льготная = 7,//Группа 4 льготная
	}
	public static partial class ПорядокНачисленияСеверныхНадбавок_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid Группа1Обычная = new Guid("0bcdc3b9-049e-abe7-4fa9-8c746ab8b2ec");//Группа 1 обычная
		public static readonly Guid Группа2Обычная = new Guid("fd473098-a6de-3204-44f3-382ab718fe44");//Группа 2 обычная
		public static readonly Guid Группа3Обычная = new Guid("ed6d609e-d538-45f8-4a73-cb1e03c71aab");//Группа 3 обычная
		public static readonly Guid Группа4Обычная = new Guid("530b068c-79dd-54cf-49e4-2061318fcb42");//Группа 4 обычная
		public static readonly Guid Группа1Льготная = new Guid("1a205f87-3b92-bf48-473c-e13565378fc7");//Группа 1 льготная
		public static readonly Guid Группа2Льготная = new Guid("34f4a3ae-4504-64f6-43cb-8790ded13d34");//Группа 2 льготная
		public static readonly Guid Группа3Льготная = new Guid("a19dff87-9489-60b0-4f52-e650e4150359");//Группа 3 льготная
		public static readonly Guid Группа4Льготная = new Guid("00f68681-76e1-5793-4e2e-8f3914e77212");//Группа 4 льготная
		public static ПорядокНачисленияСеверныхНадбавок Получить(this ПорядокНачисленияСеверныхНадбавок Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ПорядокНачисленияСеверныхНадбавок Получить(this ПорядокНачисленияСеверныхНадбавок Значение, Guid Ссылка)
		{
			if(Ссылка == Группа1Обычная)
			{
				return ПорядокНачисленияСеверныхНадбавок.Группа1Обычная;
			}
			else if(Ссылка == Группа2Обычная)
			{
				return ПорядокНачисленияСеверныхНадбавок.Группа2Обычная;
			}
			else if(Ссылка == Группа3Обычная)
			{
				return ПорядокНачисленияСеверныхНадбавок.Группа3Обычная;
			}
			else if(Ссылка == Группа4Обычная)
			{
				return ПорядокНачисленияСеверныхНадбавок.Группа4Обычная;
			}
			else if(Ссылка == Группа1Льготная)
			{
				return ПорядокНачисленияСеверныхНадбавок.Группа1Льготная;
			}
			else if(Ссылка == Группа2Льготная)
			{
				return ПорядокНачисленияСеверныхНадбавок.Группа2Льготная;
			}
			else if(Ссылка == Группа3Льготная)
			{
				return ПорядокНачисленияСеверныхНадбавок.Группа3Льготная;
			}
			else if(Ссылка == Группа4Льготная)
			{
				return ПорядокНачисленияСеверныхНадбавок.Группа4Льготная;
			}
			return ПорядокНачисленияСеверныхНадбавок.ПустаяСсылка;
		}
		public static byte[] Ключ(this ПорядокНачисленияСеверныхНадбавок Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ПорядокНачисленияСеверныхНадбавок Значение)
		{
			switch (Значение)
			{
				case ПорядокНачисленияСеверныхНадбавок.Группа1Обычная: return Группа1Обычная;
				case ПорядокНачисленияСеверныхНадбавок.Группа2Обычная: return Группа2Обычная;
				case ПорядокНачисленияСеверныхНадбавок.Группа3Обычная: return Группа3Обычная;
				case ПорядокНачисленияСеверныхНадбавок.Группа4Обычная: return Группа4Обычная;
				case ПорядокНачисленияСеверныхНадбавок.Группа1Льготная: return Группа1Льготная;
				case ПорядокНачисленияСеверныхНадбавок.Группа2Льготная: return Группа2Льготная;
				case ПорядокНачисленияСеверныхНадбавок.Группа3Льготная: return Группа3Льготная;
				case ПорядокНачисленияСеверныхНадбавок.Группа4Льготная: return Группа4Льготная;
			}
			return Guid.Empty;
		}
	}
}